nuxt-users
Version:
A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools
33 lines (32 loc) • 931 B
JavaScript
import { createError, defineEventHandler } from "h3";
import { useRuntimeConfig } from "#imports";
import { findUserById } from "../../utils/user.js";
export default defineEventHandler(async (event) => {
const { nuxtUsers } = useRuntimeConfig();
const options = nuxtUsers;
const userId = Number(event.context.params?.id);
if (!userId) {
throw createError({
statusCode: 400,
statusMessage: "Invalid user ID"
});
}
try {
const user = await findUserById(userId, options);
if (!user) {
throw createError({
statusCode: 404,
statusMessage: "User not found"
});
}
return { user };
} catch (error) {
if (error && typeof error === "object" && "statusCode" in error) {
throw error;
}
throw createError({
statusCode: 500,
statusMessage: `Error fetching user: ${error instanceof Error ? error.message : String(error)}`
});
}
});